//选择器2015-07-15封装 支持多个表单同名
(function ($) {
	//ie6
	var isIE6= !!window.ActiveXObject && !window.XMLHttpRequest;
	
	/***截取字符串**/
	function sub_str(val,counts){
		return mSubstr(val,counts*2);		
	}
	
	$.fn.extend({
		miniuiVar:{//全局常量
			num:0,//菜单个数
			focusid:'',//最后点击的菜单id
			selectinfo:Array(),//菜单信息数组
			Suffix_name:''
		},
		/**
		settings:参数
		***/
		miniuiSelect:function (settings){
			var mythis=$(this);
			var setvar={//外部设置变量
				oInput:'',//隐藏文本框id
				arr:Array(),//表单数组
				boxWidth:'',//下拉层的宽
				oform:'',//表单id
				'fixed': false//是否固定定位
			};//设置变量
			$.extend( setvar, settings ); //alert(setvar.oInput);
			//alert($(this).setminiuiVar.boxWidth);
			var Suffix_name=setvar.oform?setvar.oform+'_'+setvar.oInput:setvar.oInput;//使用表单id做为这个表单的统一id后缀
			//mythis.miniuiVar.Suffix_name=Suffix_name;//到全局
			//var thisid=$(this).attr("id");
			var valthis=setvar.oform?$("#"+setvar.oform+" #"+setvar.oInput):$("#"+setvar.oInput);
			
			mythis.miniuiVar.selectinfo[mythis.miniuiVar.num]=Array(setvar.oInput,0,setvar.oform,mythis);//id，状态0关闭着1打开的
			
			if(valthis.val()!=''){
				$.each(setvar.arr,function(key,val){
					if(valthis.val()==val[0]){
						mythis.find('span').html(sub_str(val[1],6));
						return false;
					}
				});	
			}else{
				valthis.val(setvar.arr[0][0]);
				mythis.find('span').html(sub_str(setvar.arr[0][1],6));
			}
			
			var onum=mythis.miniuiVar.num;
			$(this).click(function(){
				mythis.miniuiVar.focusid=Suffix_name;
				/*$.each(mythis.miniuiVar.selectinfo,function(key,val){
					if(val[0]==setvar.oInput && setvar.oform==val[2]){
						mythis.miniuiVar.selectinfo[key][1]=1;
						return false;
					}
				});	*///编历效率低,直接使用onum
				mythis.miniuiVar.selectinfo[onum][1]=1;
				
				if ($("#miniuiSelect_newDiv"+Suffix_name).length <= 0){
					var cDiv='<div class="miniuiSelect_newDiv" id="miniuiSelect_newDiv'+Suffix_name+'"><ul id="ul'+Suffix_name+'"></ul></div>';
					$("body").append(cDiv);
					var str_li='';
					$.each(setvar.arr,function(key,val){
						str_li+='<li data-value="'+setvar.arr[key][0]+'">'+setvar.arr[key][1]+'</li>';
					});
					$('#ul'+Suffix_name).append(str_li);
					if(setvar.boxWidth != ''){
						$('#miniuiSelect_newDiv'+Suffix_name).css({					
							width:setvar.boxWidth
							//top:$(this).offset().top+$(this).height()+1,
							//left:$(this).offset().left
						});
						$(this).againPosition(Suffix_name,setvar.fixed);
						$('#ul'+Suffix_name).css({width:setvar.boxWidth});
						$('#ul'+Suffix_name).find('li').css({width:setvar.boxWidth-5});					
					}else{
						$('#miniuiSelect_newDiv'+Suffix_name).css({					
							width:$(this).width()
							//top:$(this).offset().top+$(this).height()+1,	
							//left:$(this).offset().left
						});	
						$(this).againPosition(Suffix_name,setvar.fixed);
					}
					//切换箭 相同级别的箭头切换，隐藏同胞，切换自己
					//$("#"+thisid).find('b').removeClass('arrow');
					mythis.find('b').addClass('arrow');
					//相同级别的Div存在时，隐藏同胞，显示自己
					//$('.miniuiSelect_newDiv').hide();				
					$('#miniuiSelect_newDiv'+Suffix_name).show();	
					
					if($('#miniuiSelect_newDiv'+Suffix_name).height() > 310){
						$('#miniuiSelect_newDiv'+Suffix_name).css({'overflow-x':'hidden','overflow-y':'scroll','height':310});				
					}	
				}else{
					//DIV存在切换ul		
					if(!$('#miniuiSelect_newDiv'+Suffix_name).is(':hidden')){	
						mythis.find('b').removeClass('arrow');
						$('#miniuiSelect_newDiv'+Suffix_name).hide();									
					}else{	
						mythis.find('b').addClass('arrow');	
						$('#miniuiSelect_newDiv'+Suffix_name).show();
						$('#ul'+Suffix_name).find("li").css({'background':'#fff','color':'#555'});	
						/*divWidth = (setvar.boxWidth != '') ? setvar.boxWidth : mythis.width();						
						$('#miniuiSelect_newDiv'+Suffix_name).css({					
							width:divWidth,					
							top:mythis.offset().top+mythis.height()+1,	
							left:mythis.offset().left
						});*/
						$(this).againPosition(Suffix_name,setvar.fixed);
					}
				}
				//获取点击以后的索引值
				$.each(setvar.arr,function(key,val){//后期可以改进直接使用data-value选择
					var inputVal = valthis.val();
					if(setvar.arr[key][0] == inputVal){
						inow = key;
					}
				});	
				$('#ul'+Suffix_name).find("li").eq(inow).css({'background':'#efefef','color':'#C33'});
				//移上去样式
				$('#ul'+Suffix_name).find("li").mouseover(function(){
					$('#ul'+Suffix_name).find("li").css({'background':'#fff','color':'#555'});
					$(this).css({'background':'#efefef','color':'#C33'});
				});	
				//li点击事件
				$('#ul'+Suffix_name).find("li").each(function(){
					$(this).click(function(){
						$(this).css({'background':'#efefef','color':'#C33'});
						mythis.find('span').html(sub_str($(this).html(),6));
						valthis.val($(this).attr('data-value'));						
					});			
				});
	
				//窗口缩放滚动事件		
				$(window).bind("resize",function(){
					if($('#miniuiSelect_newDiv'+Suffix_name).is(':visible')){
						/*divWidth = (setvar.boxWidth != '') ? setvar.boxWidth : mythis.width();						
						$('#miniuiSelect_newDiv'+Suffix_name).css({					
							width:divWidth,					
							top:mythis.offset().top+mythis.height()+1,	
							left:mythis.offset().left
						});*/
						mythis.againPosition(Suffix_name,setvar.fixed);// alert('sss');
					}
				});
				
				
			});
			$(this).hover(function(){//对div的处理 
				mythis.miniuiVar.focusid=Suffix_name;
			},function(){ 
				mythis.miniuiVar.focusid='';
			}); 
			if(mythis.miniuiVar.num<=0){
				$(document).bind("click",function(){
					$.each(mythis.miniuiVar.selectinfo,function(key,val){
						var tmpfx=(val[2]?val[2]+'_':'')+val[0];
						if(val[1]==1 && tmpfx!=mythis.miniuiVar.focusid){
							val[3].find('b').removeClass('arrow');
							$("#miniuiSelect_newDiv"+tmpfx).hide();
						}
					});	
				});
			}
			mythis.miniuiVar.num++;
		},
		/**
		settings:参数
		***/
		againPosition:function (Suffix_name,ofixed){
			
			if(ofixed==true && !isIE6)
			{

				$('#miniuiSelect_newDiv'+Suffix_name).css({
					position:'fixed',
					top:$(this).offset().top-$(document).scrollTop()+$(this).height()+1,	
					left:$(this).offset().left-$(document).scrollLeft()
				});	
			}else{
				$('#miniuiSelect_newDiv'+Suffix_name).css({
					top:$(this).offset().top+$(this).height()+1,	
					left:$(this).offset().left
				});	
			}
		}
	});
})(jQuery);
//$("#sex_select").miniuiSelect('sex',sex,'','');
//$("#sex_select").miniuiSelect('sex',sex,'500','form');
//$("#indexSel").miniuiSelect({oInput:'indexSel',arr:educatea,boxWidth:'',oform:'resumeSearch'});